﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Bovespa.Sinacor.Servico.BaseConhecimento.Produto.Servicos.Contratos
{
    /// <summary>
    /// Contrato de dados "Produto".
    /// </summary>
    [DataContract(Namespace = "http://www.bovespa.com.br/Produto/DataContracts/2010/08", Name = "Produto")]
    public class Produto
    {
        #region Campos

        private int _codigo; //Armazena estado da propriedade "Codigo"
        private string _nome; //Armazena estado da propriedade "Nome"
        private int? _codigoPai; //Armazena estado da propriedade "CodigoPai"

        #endregion

        #region Propriedades

        /// <summary>
        /// Código do Produto
        /// </summary>
        [DataMember(IsRequired = true, Name = "Codigo", Order = 0)]
        public int Codigo
        {
            get { return _codigo; }
            set { _codigo = value; }
        }

        /// <summary>
        /// Nome do Produto
        /// </summary>
        [DataMember(IsRequired = true, Name = "Nome", Order = 1)]
        public string Nome
        {
            get { return _nome; }
            set { _nome = value; }
        }

        /// <summary>
        /// Código do Produto Pai
        /// </summary>
        [DataMember(IsRequired = false, Name = "CodigoPai", Order = 2)]
        public int? CodigoPai
        {
            get { return _codigoPai; }
            set { _codigoPai = value; }
        }

        #endregion
    }
}
